package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyDemo {
    public static void main(String[] args) throws IOException {
        //创建一个文件输入流，用来从原文件中读取每个字节
        FileInputStream fis = new FileInputStream("./image.gif");
        //创建一个文件输出流，用来向复制的文件中写入每个字节
        FileOutputStream fos = new FileOutputStream("./image_copy.gif");
         /*
            假设image.jpg中的文件内容:
            11001100 00110011 11110000 00001111 10101010 01010101...

            第一次调用:
            int d = fis.read();

            11001100 00110011 11110000 00001111 10101010 01010101...
            ^^^^^^^^
            读取的字节

            d的2进制样子:00000000 00000000 00000000 11001100
                                                  ^^^^^^^^
            fos.write(d)                          写出的字节

            写出完毕后，image_cp.jpg文件内容:
            11001100



            第二次调用:
            d = fis.read();

            11001100 00110011 11110000 00001111 10101010 01010101...
                     ^^^^^^^^
                     读取的字节

            d的2进制样子:00000000 00000000 00000000 00110011
                                                  ^^^^^^^^
            fos.write(d)                          写出的字节

            写出完毕后，image_cp.jpg文件内容:
            11001100 00110011
         */
        int d =0;
        while ((d = fis.read())!=-1){
            fos.write(d);
        }
        System.out.println("复制完毕！");
        fis.close();
        fos.close();
    }
}
